/*
7-83 币值转换
分数 20
作者 陈建海
单位 浙江大学

输入一个整数（位数不超过9位）代表一个人民币值（单位为元），请转换成财务要求的大写中文格式。如23108元，转换后变成“贰万叁仟壹百零捌”元。为了简化输出，用小写英文字母a-j顺序代表大写数字0-9，用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。
输入格式：

输入在一行中给出一个不超过9位的非负整数。
输出格式：

在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。
输入样例1：

813227345

输出样例1：

iYbQdBcScWhQdBeSf

输入样例2：

6900

输出样例2：

gQjB
*/

#include <stdio.h>
#include <string.h>

int main() {
    char dw[] = " SBQWSBQY";
    // 输入金额
    char je[10];
    scanf("%s", je);
    // 大写金额
    char dx[30] = {0}; 
    char *pdx = &dx;
    // 拾、百、仟、万、亿 index
    int len = strlen(je);
    if (len == 1) {
        printf("%c\n", 'a' + je[0] - '0');
        return 0;
    }
    int dwIdx = len - 1;
    int zero = 0; // 是否处理过0
    for (int i = 0; i < len; i++, dwIdx--) {
        char ch = je[i];
        if (ch == '0') {
            zero = 1;
            if (dw[dwIdx] == 'W') {
                *pdx++ = 'W';
                zero = 0;
            }
            continue;
        }
        if (zero) {
            *pdx++ = 'a';
        }
        zero = 0;
        *pdx++ = 'a' + ch - '0';
        if (dwIdx > 0) {
            *pdx++ = dw[dwIdx];
        }
    }
    printf("%s\n", dx);
    return 0;
}